package com.bw.entity.bil;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.util.Date;
import java.io.Serializable;




import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author yzz
 * @since 2020-06-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("pi_invoice")
public class PiInvoice extends Model<PiInvoice> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 编号
     */
    @TableId("code")
    private String code;

    /**
     * 客户id
     */
    @TableId("customer_id")
    private Long customerId;

    /**
     * 发票类型(0增值税普通发票，1增值税专用发票)
     */
    @TableId("invoice_type")
    private Integer invoiceType;

    /**
     * 发票抬头
     */
    @TableId("invoice_title")
    private String invoiceTitle;

    /**
     * 税号
     */
    @TableId("invoice_num")
    private String invoiceNum;

    /**
     * 税率
     */
    @TableId("tax_rate")
    private BigDecimal taxRate;

    /**
     * 开票金额
     */
    @TableId("amount")
    private BigDecimal amount;

    /**
     * 发票内容
     */
    @TableId("content")
    private String content;

    /**
     * 收件人
     */
    @TableId("receiver")
    private String receiver;

    /**
     * 收货地址
     */
    @TableId("rev_address")
    private String revAddress;

    /**
     * 联系电话
     */
    @TableId("tel")
    private String tel;

    /**
     * 物流公司
     */
    @TableId("logistics_cym")
    private String logisticsCym;

    /**
     * 创建人
     */
    @TableId("create_user")
    private Long createUser;

    /**
     * 创建时间
     */
    @TableId("create_date")
    private Date createDate;
    @TableField(exist = false)
    private Date min;
    @TableField(exist = false)
    private Date max;

    /**
     * 更新人
     */
    @TableId("update_user")
    private Long updateUser;

    /**
     * 更新时间
     */
    @TableId("update_date")
    private Date updateDate;

    /**
     * 状态（0未提交，1已提交，2已工艺，3已报价，4已转合同）
     */
    @TableId("state")
    private Integer state;

    /**
     * 删除标识（0未删除，1已删除）
     */
    @TableId("is_delete")
    private Integer isDelete;

    /**
     * 快递单号
     */
    @TableId("logistics_code")
    private String logisticsCode;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    public String getLogisticsCode() {
        return logisticsCode;
    }

    public void setLogisticsCode(String logisticsCode) {
        this.logisticsCode = logisticsCode;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public Long getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    public Integer getInvoiceType() {
        return invoiceType;
    }

    public void setInvoiceType(Integer invoiceType) {
        this.invoiceType = invoiceType;
    }

    public String getInvoiceTitle() {
        return invoiceTitle;
    }

    public void setInvoiceTitle(String invoiceTitle) {
        this.invoiceTitle = invoiceTitle;
    }

    public String getInvoiceNum() {
        return invoiceNum;
    }

    public void setInvoiceNum(String invoiceNum) {
        this.invoiceNum = invoiceNum;
    }

    public BigDecimal getTaxRate() {
        return taxRate;
    }

    public void setTaxRate(BigDecimal taxRate) {
        this.taxRate = taxRate;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getReceiver() {
        return receiver;
    }

    public void setReceiver(String receiver) {
        this.receiver = receiver;
    }

    public String getRevAddress() {
        return revAddress;
    }

    public void setRevAddress(String revAddress) {
        this.revAddress = revAddress;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String getLogisticsCym() {
        return logisticsCym;
    }

    public void setLogisticsCym(String logisticsCym) {
        this.logisticsCym = logisticsCym;
    }

    public Long getCreateUser() {
        return createUser;
    }

    public void setCreateUser(Long createUser) {
        this.createUser = createUser;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getMin() {
        return min;
    }

    public void setMin(Date min) {
        this.min = min;
    }

    public Date getMax() {
        return max;
    }

    public void setMax(Date max) {
        this.max = max;
    }

    public Long getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(Long updateUser) {
        this.updateUser = updateUser;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Integer getIsDelete() {
        return isDelete;
    }

    public void setIsDelete(Integer isDelete) {
        this.isDelete = isDelete;
    }
}
